git 常用操作

以下操作均在gitbash里完成。
在使用Git提交前,必须配置用户名和邮箱,这些信息会永久保存到历史记录中。
git config —global user.name “Test”
git config —global user.email Test@test.com

初始操作

  1. 生成密钥
    ssh-keygen -t rsa -C “your_email@example.com”
    这里会有设置密码的地方,指的是访问私钥的密码。
    公钥和私钥一般都会存放在C盘对应的用户名下
    生成了公钥后记得把公钥放在github的SSH设置里。

  2. git init 创建仓库
    首先在E:创建一个gittest文件夹,即我们的项目
    cd E:
    mkdir gittest
    cd gittest (!记住一定要进入这个文件)
    然后将当前目录进行初始化。
    git init

  3. git add 增加文件到暂存区
    首先在目录下创建一个文件a.txt
    内容为12345
    这个时候操作git status, 会提示Untracked files, 需要将a.txt加入暂存区 , 因此
    git add a.txt
    完成将a.txt加入到暂存区的操作。
    这个时候操作git status, 会提示changes to be commited, 需要将a.txt加入到版本库
    注: git add . 可以将所有修改的文件加入到暂存区

  4. git commit 将暂存区的文件到版本库
    git commit -m “first version”
    此时操作git status, 提示working tree clean

  5. git branch 查看当前所属分支,默认为master
    git branch -a 查看所有分支,包含远程分支

  6. git checkout 切换分支
    git checkout -b newbranch 创建并切换到newbranch
    git checkout newbranch 如果有newbranch这个分支,就切换

远程相关操作

  1. 将当前项目推送到远程 假设本地为用户a;
    在github新建gittest的repository, 命名为gittest
    首先添加远程仓库:
    git remote add origin git@github.com:DavidNeson/gittest.git
    origin为自己定义的远程仓库的名字
    然后将本地的项目添加到远程仓库:
    git push -u origin master:master
    前一个master代表本地的master分支,后一个master代表远程的master分支

  2. git clone 如果已有项目, 将项目复制到本地, 假设此时是用户b

    cd D:
    git clone git@github.com:DavidNeson/gittest.git

  3. git pull git push
    用户b增加了文件b.txt
    内容为6789
    然后进行add和commit操作
    然后将当前分支推送到远程:
    首先需要从远程下载最新主分支文件并且与本地文件合并,git pull能够实现下载加合并
    git pull origin master
    然后将当前分支推送到远程主分支
    git push origin master

  4. git fetch git merge
    当用户b操作时,用户a增加了c.txt
    内容为0000
    然后进行add和commit操作
    然后此时用户b选择将当前分支推送到远程:
    首先将远程分支下载下来 (实际上git pull = git fetch + git merge):
    git fetch origin master:tmp //在本地新建一个tmp分支,并将远程origin仓库的master分支代码下载到本地tmp分支
    git diff tmp //来比较本地代码与刚刚从远程下载下来的代码的区别
    git merge tmp //合并temp分支到本地的master分支, 这一步需要写注释文档,可以跳过
    git branch -d tmp //如果不想保留temp分支 可以用这步删除
    最后仍然是调用git push将当前分支上传到远程分支:
    git push origin master

分支上进行操作

  1. git 创建远程新分支 (a用户)
    git checkout -b test // 创建本地test分支
    git push —set-upstream origin test //把本地test分支推送到远程, 并在远程分支设立test分支

  2. 在当前分支下增加新文件d.txt
    内容为dddd

  3. git add .
  4. git commit -m “add d.txt”
  5. git pull origin test
  6. git push origin test
    此时查看会发现远程test分支有d.txt文件,而master没有
    git diff master